package com.ry.aop;

import org.aspectj.lang.annotation.*;

/**
 * 切面类
 */
@Aspect
public class MyAspects {

    // 前置通知
    // 后置通知
    // 异常通知
    // 返回通知
    // 环绕通知

    // 定义切入点
    @Pointcut("execution(public int com.ry.aop.MathService.*(..))")
    public void pointCut(){}


    // 前置通知
    @Before("pointCut()")
    public void logBefore(){
        System.out.println("前置通知 Before");
    }

    // 后置通知
    @After("pointCut()")
    public void logAfter(){
        System.out.println("后置通知 After");
    }

    // 异常通知 【如果报错那么返回通知就不会执行了】
    @AfterThrowing("pointCut()")
    public void logThrowing(){
        System.out.println("异常通知 AfterThrowing");
    }

    // 返回通知
    @AfterReturning("pointCut()")
    public void logReturning(){
        System.out.println("返回通知 AfterReturning");
    }

    // 环绕通知


}
